---
id: 6437133052eaf04d7300e622
title: Schritt 22
challengeType: 0
dashedName: step-22
---

# --description--

Deklariere eine `average`-Funktion, die ein Array von Zahlen als den `nums`-Parameter verwendet. Sie sollte den Durchschnitt aller Zahlen im Array zurückgeben.

Der Durchschnitt kann berechnet werden, indem die Summe aller Zahlen im Array durch die Länge des Arrays geteilt wird. Denke daran, dass du über eine `sum`-Funktion verfügst, die du verwenden kannst.

# --hints--

Du solltest eine `average`-Variable deklarieren.

```js
assert.match(code, /(?:let|const|var)\s+average/);
```

Du solltest `const` verwenden, um deine `average`-Variable zu deklarieren.

```js
assert.match(code, /const\s+average/);
```

Deine `average`-Variable sollte eine Funktion sein.

```js
assert.isFunction(average);
```

Deine `average`-Funktion sollte eine Arrow-Syntax verwenden.

```js
assert.match(code, /const\s+average\s*=\s*(\([^)]*\)|[^\s()]+)\s*=>/);
```

Deine `average`-Funktion sollte einen `nums`-Parameter verwenden.

```js
assert.match(code, /const\s+average\s*=\s*(\(\s*nums\s*\)|nums)/);
```

Deine `average`-Funktion sollte eine implizite Rückgabe verwenden.

```js
assert.notMatch(code, /const\s+average\s*=\s*(\(\s*nums\s*\)|nums)\s*=>\s*{/);
```

Deine `average`-Funktion sollte den Durchschnittswert des `nums`-Arrays zurückgeben.

```js
assert.equal(average([1,2,3]), 2);
assert.equal(average([1,2,3,4,5]), 3);
```

# --seed--

## --seed-contents--

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="./styles.css" />
    <title>Functional Programming Spreadsheet</title>
  </head>
  <body>
    <div id="container">
      <div></div>
    </div>
    <script src="./script.js"></script>
  </body>
</html>
```

```css
#container {
  display: grid;
  grid-template-columns: 50px repeat(10, 200px);
  grid-template-rows: repeat(11, 30px);
}

.label {
  background-color: lightgray;
  text-align: center;
  vertical-align: middle;
  line-height: 30px;
}
```

```js
const isEven = num => num % 2 === 0;
const sum = nums => nums.reduce((acc, el) => acc + el, 0);
--fcc-editable-region--

--fcc-editable-region--

const range = (start, end) => Array(end - start + 1).fill(start).map((element, index) => element + index);
const charRange = (start, end) => range(start.charCodeAt(0), end.charCodeAt(0)).map(code => String.fromCharCode(code));

window.onload = () => {
  const container = document.getElementById("container");
  const createLabel = (name) => {
    const label = document.createElement("div");
    label.className = "label";
    label.textContent = name;
    container.appendChild(label);
  }
  const letters = charRange("A", "J");
  letters.forEach(createLabel);
  range(1, 99).forEach(number => {
    createLabel(number);
    letters.forEach(letter => {
      const input = document.createElement("input");
      input.type = "text";
      input.id = letter + number;
      input.ariaLabel = letter + number;
      container.appendChild(input);
    })
  })
}
```
